package org.linlinjava.litemall.core.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.Locale;
import java.util.TimeZone;

@Component
public class DynamicTimeZoneConfiguration {

    private String dynamicTimeZone; // 用于保存动态时区

    @Value("${sys.datetime}")
    public String SysDateTime;


    // 初始化时设置默认时区
    @PostConstruct
    public void init() {
        setDynamicTimeZone(SysDateTime); // 默认时区为"Asia/Shanghai"
    }

    // 根据条件设置动态时区
    public void setDynamicTimeZone(String timeZone) {
        dynamicTimeZone = timeZone;
        TimeZone.setDefault(TimeZone.getTimeZone(timeZone));
        System.out.println("timeZone = " + timeZone);
        System.out.println("当前时间 = " + LocalDateTime.now());
        // 还可以在这里执行其他需要在时区改变时进行的操作
    }


    // 获取当前动态时区
    public String getDynamicTimeZone() {
        return dynamicTimeZone;
    }
}
